{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 🔘 Matplotlib: `Subplot Mosaic` "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Let's define quantities to be plotted\n",
    "x = np.linspace(0, 10)\n",
    "functions_of_x = {'A': x, 'B': np.sin(x), 'C': np.cos(x), 'D': np.tan(x)}\n",
    "\n",
    "# plot titles and colors dictionaries\n",
    "colors = {'A': 'red', 'B': 'green', 'C': 'blue', 'D': 'magenta'}\n",
    "titles = {'A': 'x', 'B': 'sin(x)', 'C': 'cos(x)', 'D': 'tan(x)'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Specifying how the subplot axes should be laid out on the figure\n",
    "mosaic = \"\"\"\n",
    "    ABD\n",
    "    CCD\n",
    "    \"\"\"\n",
    "# 👆 You can play around by changing the layout "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(5, 5), constrained_layout=True)\n",
    "\n",
    "# axis_dict contains the mosaic axes against the keys 'A', 'B', 'C', 'D'\n",
    "# over which we draw our subplots\n",
    "ax_dict = fig.subplot_mosaic(mosaic)\n",
    "\n",
    "for label, axes in ax_dict.items():\n",
    "    axes.plot(x, functions_of_x[label], color=colors[label])\n",
    "    axes.set_title(titles[label])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "🔘 Hope you enjoyed reading!! 📖 <br>\n",
    "🔘 follow → `@akshay_pachaar`  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "env_twitter",
   "language": "python",
   "name": "env_twitter"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
